home *** CD-ROM | disk | FTP | other *** search
/ Chip 2005 March / CMCD0305.ISO / Software / Shareware / Utilitare / emu / Emu8086_Setup_307c.exe / {app} / Samples / cmpsb.asm < prev    next >
Assembly Source File  |  2002-08-02  |  837b  |  52 lines

  1. ; This sample shows how
  2. ; to use CMPSB instruction
  3. ; to compare strings.
  4.  
  5. #make_COM#
  6.  
  7. ; COM file is loaded at 100h
  8. ; prefix:
  9.         ORG     100h
  10.  
  11. ; set forward direction:
  12.         CLD     
  13.  
  14. ; load source into DS:SI,
  15. ; load target into ES:DI:
  16.         MOV     AX, CS
  17.         MOV     DS, AX
  18.         MOV     ES, AX
  19.         LEA     si, str1
  20.         LEA     di, str2
  21.  
  22. ; set counter to string length:
  23.         MOV     CX, 11
  24.  
  25. ; compare until equal:
  26.         REPE    CMPSB
  27.         JNZ     not_equal
  28.  
  29. ; "Yes" - equal!
  30.         MOV     AL, 'Y'
  31.         MOV     AH, 0Eh
  32.         INT     10h
  33.  
  34.         JMP     exit_here
  35.  
  36. not_equal:
  37.  
  38. ; "No" - not equal!
  39.         MOV     AL, 'N'
  40.         MOV     AH, 0Eh
  41.         INT     10h
  42.  
  43. exit_here:
  44.  
  45.         RET
  46.  
  47. ; data:
  48. str1 db 'Test string'
  49. str2 db 'Test string'
  50.  
  51. END
  52.